package com.zhangjunkai.utils
{
	import flash.net.FileReference;
	import flash.utils.ByteArray;

	/**
	 * 生成64或128或256长度的key文件
	 * @author ZJK
	 */
	public class CreateKey
	{
		public function CreateKey()
		{
		}
		/**
		 * 生成64位长度
		 * @default 
		 */
		public static const KeyLen_64:int=64;
		/**
		 * 生成128位长度
		 * @default 
		 */
		public static const KeyLen_128:int=128;
		/**
		 * 生成256位长度
		 * @default 
		 */
		public static const KeyLen_256:int=256;
		
		/**
		 * 创建KEY文件
		 * @param len 长度参数
		 * @return key文件的ByteArray
		 * @throws Error
		 */
		public static function create(len:int):ByteArray
		{
			if(len==KeyLen_64||len==KeyLen_128||len==KeyLen_256)
			{
				var key:ByteArray;
				while(key==null||key.length!=len)
				{
					key=new ByteArray();
					while(key.length<len)
					{
						var random:int=Math.floor(0+(Math.random()*255));
						key.writeUTFBytes(String.fromCharCode(random));
					}
				}
				return key;
			}
			else
			{
				throw new Error('请求生成key的长度不正确 请检查参数');
			}
			return null;
		}
	}
}